package net.maku.express.biza.controller.orderlist.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.Date;
import javax.validation.constraints.NotNull;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * @Author wenyignying'
 * @Description:
 * @Date
 */
@Schema(description = "单条数据")
@Data
public class OrderListSelectOneResponseVO {

    /**
     *
     */
    @Schema(description = "id")
    private Long id;

    /**
     * 订单号
     */
    @Schema(description = " 订单号")
    private String orderNo;

    /**
     * 入仓号
     */
    @Schema(description =  "入仓号")
    private String hourseNo;
    /**
     * 始发港口
     */
    @Schema(description = "始发港口Id")
    private Integer originId;

    /**
     * 目的港口
     */
    @Schema(description = "目的港口Id")
    private Integer destId;

    /**
     * 始发港口
     */
    @Schema(description = "始发港口")
    private String origin;

    /**
     * 目的港口
     */
    @Schema(description = "目的港口")
    private String dest;
    /**
     * 交货日期
     */
    @Schema(description = "交货日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deliveryDate;

    /**
     * 入仓日期
     */
    @Schema(description = "入仓日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date hourseDate;

    /**
     * 件数
     */
    @Schema(description = "件数")
    private Integer expressNum;

    /**
     * 毛重
     */
    @Schema(description = "毛重")
    private Double weight;

    /**
     * 计费重量
     */
    @Schema(description ="计费重量")
    private Double chargeWeighy;

    /**
     * 体积
     */
    @Schema(description ="体积")
    private Double volume;


    /**
     * 客户id
     */
    @Schema(description ="客户id")
    private Integer customerId;

    /**
     * 业务员id
     */
    @Schema(description ="业务员id")
    private Integer salesId;

    /**
     * 客服id
     */
    @Schema(description ="客服id")
    private Integer waiterId;

    /**
     * 客户id
     */
    @Schema(description ="客户")
    private String customer;

    /**
     * 业务员id
     */
    @Schema(description ="业务员")
    private String sales;

    /**
     * 客服id
     */
    @Schema(description ="客服")
    private String waiter;

    /**
     * 业务类型:1:空运;2海运
     */
    @Schema(description ="业务类型:1:空运;2海运")
    @NotNull(message="业务类型不能为空")
    private Integer businessState;

    /**
     * 航空公司
     */
    @Schema(description ="航空公司")
    private String airlineCompany;

    /**
     * 航班号
     */
    @Schema(description ="航班号")
    private String airlineNo;

    /**
     * 航班日期
     */
    @Schema(description ="航班日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date airlineDate;

    /**
     * 付款方式:1:PP,2:CC,3:半月结,4:月结
     */
    @Schema(description ="付款方式:1:PP,2:CC,3:半月结,4:月结")
    private Integer payState;


    /**
     * 进仓仓库
     */
    @Schema(description ="进仓仓库")
    private String enterHourse;

    /**
     * 进仓方式:1:客自入仓报关,2:我司入仓报关;3:客自入仓我司报关;4:我司入仓客自报关
     */
    @Schema(description ="进仓方式:1:客自入仓报关,2:我司入仓报关;3:客自入仓我司报关;4:我司入仓客自报关")
    private Integer enterHourseState;

    /**
     * 配货司机
     */
    @Schema(description ="配货司机")
    private String driver;

    /**
     * 订单来源
     */
    @Schema(description ="订单来源")
    private String orderOrigin;

    /**
     * 货名
     */
    @Schema(description ="货名")
    private String collectName;

    /**
     * 货物类型:1:普货,2:敏感货,3:单证普货,4:单证敏感货
     */
    @Schema(description ="货物类型:1:普货,2:敏感货,3:单证普货,4:单证敏感货")
    private Integer collectType;

    /**
     * 总航程
     */
    @Schema(description ="总航程")
    private Integer totalVoyage;

    /**
     * 目前航程
     */
    @Schema(description ="目前航程")
    private String destVoyage;

    /**
     * 总收入
     */
    @Schema(description ="总收入")
    private Double toalIncome;

    /**
     * 总支出
     */
    @Schema(description ="总支出")
    private Double totalPay;

    /**
     * 总利润
     */
    @Schema(description ="总利润")
    private Double totalProfit;


}
